package com.alibaba.citrus.ots.platform.enhance.service;

import java.util.List;

import com.alibaba.cz.base.tool.page.PageResult;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;
import com.alibaba.lattice2.epoch.sdk.model.Result;

import com.epoch.app.otsplatformenhance.dto.request.CreateScItemRequestNew;
import com.epoch.app.otsplatformenhance.dto.request.EditScItemRelCategoryRequest;
import com.epoch.app.otsplatformenhance.dto.request.EditScItemRequest;
import com.epoch.app.otsplatformenhance.dto.request.IdQueryRequest;
import com.epoch.app.otsplatformenhance.dto.request.QueryScItemRequest;
import com.epoch.app.otsplatformenhance.dto.response.ScItemDetailResponse;
import com.epoch.app.otsplatformenhance.dto.response.ScItemResponse;

/**
 * @author zls
 * @description: TODO
 * @date 2021/9/8 18:46
 */
@MeshFlowService(apps = {"bc_ots"}, name="scItemMeshFlowService")
public interface ScItemMeshFlowService {
    /**
     * 创建货品
     * @param request
     * @return
     */
    Result<Boolean> createScItem(CreateScItemRequestNew request);

    /**
     * 编辑货品
     * @param request
     * @return
     */
    Result<Boolean> editScItem(EditScItemRequest request);

    /**
     * 给货品关联类目
     *
     * @param request
     * @return
     */
    Result<Boolean> editScItemRelCategory(EditScItemRelCategoryRequest request);

    /**
     * 根据id查询货品
     * @param request
     * @return
     */
    Result<ScItemDetailResponse> getScItemDetail(IdQueryRequest request);

    /**
     * 分页查询货品列表
     * @param request
     * @return
     */
    Result<PageResult<List<ScItemResponse>>> pageQueryScItemList(QueryScItemRequest request);


    /**
     * 分页查询货品列表(DB)
     * @param request
     * @return
     */
    Result<PageResult<List<ScItemResponse>>> queryScItemListByPage(QueryScItemRequest request);
}
